package com.ybox.common.email.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.iotmonitor.common.core.annotation.Excel;
import com.iotmonitor.common.core.web.domain.BaseEntity;
import org.springframework.web.multipart.MultipartFile;
import java.util.Date;

/**
 * 邮件记录对象 Email
 *
 * @author ych
 * @date 2023-02-25
 */
public class Email extends BaseEntity {
    private static final long serialVersionUID = 1L;
 
    /**
     * 主键ID
     */
    private Long id;
 
    /**
     * 发送者ID
     */
    @Excel(name = "发送者ID")
    private Long sendId;

    /**
     * 发送者email
     */
    @Excel(name = "发送者email")
    private String senderEmail;
 
    /**
     * 收件人ID
     */
    @Excel(name = "收件人ID")
    private Long receiverId;
 
    /**
     * 收件人邮箱
     */
    @Excel(name = "收件人邮箱")
    private String receiverEmail;
 
    /**
     * 抄送人id,多个用逗号分隔
     */
    @Excel(name = "抄送人id,多个用逗号分隔")
    private Long ccId;
 
    /**
     * 抄送人邮箱,多个用逗号分隔
     */
    @Excel(name = "抄送人邮箱,多个用逗号分隔")
    private String ccEmail;

    /**
     * 密送人id,多个用逗号分隔
     */
    @Excel(name = "密送人id,多个用逗号分隔")
    private String bccId;

    /**
     * 密送人邮箱,多个用逗号分隔
     */
    @Excel(name = "密送人邮箱,多个用逗号分隔")
    private String bccEmail;
 
    /**
     * 邮件主题
     */
    @Excel(name = "邮件主题")
    private String subject;
 
    /**
     * 邮件内容
     */
    @Excel(name = "邮件内容")
    private String content;
 
    /**
     * 版本号
     */
    @Excel(name = "版本号")
    private String version;

    /**
     * 发送时间
     */
    @Excel(name = "发送时间")
    private Date sentDate;

    /**
     * 状态
     */
    private String status;
    /**
     * 报错信息
     */
    private String error;
    /**
     * 是否为html
     */
    private Boolean isHtml;

    //邮件附件
    @JsonIgnore
    private MultipartFile[] multipartFiles;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getSendId() {
        return sendId;
    }

    public void setSendId(Long sendId) {
        this.sendId = sendId;
    }

    public Long getReceiverId() {
        return receiverId;
    }

    public void setReceiverId(Long receiverId) {
        this.receiverId = receiverId;
    }

    public String getReceiverEmail() {
        return receiverEmail;
    }

    public void setReceiverEmail(String receiverEmail) {
        this.receiverEmail = receiverEmail;
    }

    public Long getCcId() {
        return ccId;
    }

    public void setCcId(Long ccId) {
        this.ccId = ccId;
    }

    public String getCcEmail() {
        return ccEmail;
    }

    public void setCcEmail(String ccEmail) {
        this.ccEmail = ccEmail;
    }

    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getError() {
        return error;
    }

    public void setError(String error) {
        this.error = error;
    }

    public Boolean getHtml() {
        return isHtml;
    }

    public void setHtml(Boolean html) {
        isHtml = html;
    }

    public MultipartFile[] getMultipartFiles() {
        return multipartFiles;
    }

    public void setMultipartFiles(MultipartFile[] multipartFiles) {
        this.multipartFiles = multipartFiles;
    }

    public String getBccId() {
        return bccId;
    }

    public void setBccId(String bccId) {
        this.bccId = bccId;
    }

    public String getBccEmail() {
        return bccEmail;
    }

    public void setBccEmail(String bccEmail) {
        this.bccEmail = bccEmail;
    }

    public Date getSentDate() {
        return sentDate;
    }

    public void setSentDate(Date sentDate) {
        this.sentDate = sentDate;
    }

    public String getSenderEmail() {
        return senderEmail;
    }

    public void setSenderEmail(String senderEmail) {
        this.senderEmail = senderEmail;
    }
}